package com.kinghood.productcenter.common.model.dto.base;

import com.kinghood.productcenter.common.model.enums.base.AttributeValueCodeEnum;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.List;

/**
 * 属性编辑
 *
 * @author jp
 * @date 2023/12/26
 */
@Data
public class AttributeReqDTO {
    private Long id;

    /**
     * 属性编码
     */
    @NotEmpty(message = "编码不能为空")
    private String attributeCode;

    /**
     * 属性名
     */
    @NotEmpty(message = "名称不能为空")
    private String attributeName;

    /**
     * 属性分组id
     */
    private Long attributeGroupId;

    /**
     * 下拉时，能否多选（0：不能，1：能）
     */
    private Integer isMultipleChoice;

    /**
     * 是否可以筛选，0：不能，1能
     */
    @NotNull(message = "是否可以筛选不能为空")
    private Integer isFilter;

    /**
     * 状态（0：停用，1：启用）
     */
    @NotNull(message = "状态不能为空")
    private Integer status;

    /**
     * 属性值编码
     * {@link AttributeValueCodeEnum}
     */
    private String valueCode;

    /**
     * 属性值列表
     */
    private List<AttributeValueReqDTO> attributeValueList = new ArrayList<>();

    /**
     * 属性限制
     */
    private BaseAttributeLimitReqDTO attributeLimit;

    /**
     * 备注
     */
    private String remark;
}
